package com.xindaoapp.happypet;

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Environment;
import android.os.SystemClock;
import cn.jpush.android.api.JPushInterface;

import com.tencent.stat.MtaSDkException;
import com.tencent.stat.StatConfig;
import com.tencent.stat.StatReportStrategy;
import com.tencent.stat.StatService;
import com.tencent.stat.common.StatConstants;
import com.umeng.analytics.MobclickAgent;
import com.umeng.socialize.sso.QZoneSsoHandler;
import com.umeng.socialize.sso.UMQQSsoHandler;
import com.umeng.socialize.weixin.controller.UMWXHandler;
import com.xindaoapp.happypet.utils.CommonUtil;
import com.xindaoapp.happypet.utils.Constants;

public class SplashActivity extends Activity {
    private SharedPreferences sp;
    private final String qqAppId = "10021591";
    private final String qqAppKey = "ush2UkhLR4vh3Qqk";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        // try {
        // 对于不同的渠道，显示的标记不同处理
        // String channel =
        // getPackageManager().getApplicationInfo(getPackageName(),
        // PackageManager.GET_META_DATA).metaData.getString("InstallChannel");
        // if ("360".equals(channel)) {// 360渠道显示360
        // ((ImageView) findViewById(R.id.channel_logo)).setImageResource(R.drawable.logo_360);
        // findViewById(R.id.channel_logo).setVisibility(View.VISIBLE);
        // findViewById(R.id.textView1).setVisibility(View.GONE);
        // } else {
        // findViewById(R.id.channel_logo).setVisibility(View.GONE);
        // findViewById(R.id.textView1).setVisibility(View.VISIBLE);
        // }
        // } catch (NameNotFoundException e) {
        // e.printStackTrace();
        // }

        sp = getSharedPreferences("userconfig", MODE_PRIVATE);
        new Thread() {
            @Override
            public void run() {
                SystemClock.sleep(2000);
                loadMianUI();
            };
        }.start();


        MobclickAgent.setDebugMode(false);
        // SDK在统计Fragment时，需要关闭Activity自带的页面统计，
        // 然后在每个页面中重新集成页面统计的代码(包括调用了 onResume 和 onPause 的Activity)。
        MobclickAgent.openActivityDurationTrack(false);
        // MobclickAgent.setAutoLocation(true);
        // MobclickAgent.setSessionContinueMillis(1000);

        MobclickAgent.updateOnlineConfig(this);

        initMTAConfig();

        initShareParams();

        deleteFiles();
    }

    private void deleteFiles() {
        // 删除缓存的用户头像
        File file =
                new File(Environment.getExternalStorageDirectory().getAbsolutePath()
                        + "/happypet/usericon/temp.jpg");
        if (file.exists() && file.length() != 0) {
            file.delete();
        }

    }

    private void initShareParams() {

        // 添加QQ平台
        UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(SplashActivity.this, qqAppId, qqAppKey);
        boolean clientInstalled = qqSsoHandler.isClientInstalled();
        System.out.println("clientInstalled:" + clientInstalled);
        // qqSsoHandler.addToSocialSDK();

        // 参数1为当前Activity， 参数2为开发者在QQ互联申请的APP ID，参数3为开发者在QQ互联申请的APP kEY.
        QZoneSsoHandler qZoneSsoHandler =
                new QZoneSsoHandler(SplashActivity.this, qqAppId, qqAppKey);
        qZoneSsoHandler.addToSocialSDK();

        // // 添加微信平台
        // UMWXHandler wxHandler =
        // new UMWXHandler(LoginActivity.this, Constants.WEIXIN_APPID,
        // Constants.WEIXIN_APPSECRET);
        // wxHandler.addToSocialSDK();

        // 添加微信平台
        UMWXHandler wxHandler =
                new UMWXHandler(SplashActivity.this, Constants.WEIXIN_APPID,
                        Constants.WEIXIN_APPSECRET);
        // 这里设置为false，授权页面可以再次出现。
        // 但是想要在授权页面实现用户切换确实不行的，需要去微信客户端才能实现用户切换
        // wxHandler.setRefreshTokenAvailable(false);
        wxHandler.addToSocialSDK();

        // wxHandler.addToSocialSDK();

        // // 添加微信朋友圈
        UMWXHandler wxCircleHandler =
                new UMWXHandler(SplashActivity.this, Constants.WEIXIN_APPID,
                        Constants.WEIXIN_APPSECRET);
        wxCircleHandler.setToCircle(true);
        wxCircleHandler.addToSocialSDK();
    }

    private void initMTAConfig() {
        // 调试日志
        StatConfig.setDebugEnable(false);
        // 程序错误日志捕获
        StatConfig.setAutoExceptionCaught(false);
        // 日志上传策略
        StatConfig.setStatSendStrategy(StatReportStrategy.INSTANT);

        // StatCommonHelper.getLogger().setLogLevel(Log.VERBOSE);
        // 初始化并启动MTA
        // 第三方SDK必须按以下代码初始化MTA，其中appkey为规定的格式!!!
        // 其它普通的app可自行选择是否调用
        // try {
        // 第三个参数必须为：com.tencent.stat.common.StatConstants.VERSION
        // 用于MTA SDK版本冲突检测
        try {
            StatService.startStatService(this, null, StatConstants.VERSION);
        } catch (MtaSDkException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onResume() {
        super.onResume();

        MobclickAgent.onPageStart(getPackageName());
        MobclickAgent.onResume(this);

        JPushInterface.onResume(this);

        StatService.onResume(this);

    }

    @Override
    public void onPause() {
        super.onPause();
        MobclickAgent.onPageEnd(getPackageName());
        MobclickAgent.onPause(this);
        JPushInterface.onPause(this);

        StatService.onPause(this);
    }

    private void loadMianUI() {
        /** 加入引导页面 */
        boolean isfirst = sp.getBoolean("isfirst" + CommonUtil.getVersionCode(this), true);
        Intent intent;
        // 云测试用，防止测试过不去splash页
        // isfirst = false;
        if (isfirst) {
            intent = new Intent(this, GuideActivity.class);
        } else {
            // com.xindaoapp.happypet.ui.MainActivity
            intent = new Intent(this, com.xindaoapp.happypet.ui.MainActivity.class);
        }
        startActivity(intent);
        finish();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        System.gc();
    }


}
